package com.example.im.http

import com.example.im.bean.Photoprint
import com.example.im.bean.InviteCode
import com.example.im.common.Constants
import io.reactivex.Observable
import okhttp3.MultipartBody
import retrofit2.http.*
import java.util.*

/**
 * Created by Administrator on 2018/6/27.
 */

interface APIRetrofit {

    /**
     * 上传文件 多文件
     *
     * @return
     */
    @Multipart
    @POST("baseservice/api/images/uploads")
    fun upLoadFile(@Part file: List<MultipartBody.Part>): Observable<TreeMap<String, String>>


    /**
     * 上传文件 单文件
     *
     * @return
     */
    @Multipart
    @POST(Constants.HTTP_URL_UPDATE_FILE)
    fun upLoadFile(@Part file: MultipartBody.Part): Observable<Photoprint>

    /**
     * 生成邀请码
     * */
    @PUT(Constants.HTTP_URL_INVITE_CODE_SET)
    fun setInviteCode(@QueryMap username: Map<String, String>): Observable<InviteCode>

    /**
     * 验证邀请码
     * */
    @GET(Constants.HTTP_URL_INVITE_CODE_GET)
    fun getInviteCode(@QueryMap username: Map<String, String>): Observable<InviteCode>
}
